export default function (plop) {
  plop.setGenerator('user', {
    description: '创建user模块内功能',
    prompts: [
      {
        type: 'input',
        name: 'pathName',
        message: 'component path:页面文件地址',
      },
      {
        type: 'input',
        name: 'urlName',
        message: 'url:路由地址',
      },
      {
        type: 'input',
        name: 'componentName',
        message: 'component name:页面文件',
      },
      {
        type: 'input',
        name: 'moduleName',
        message: 'component moduleName:模块名',
      },
    ],
    // 在命令行中执行的动作，数组中的每一个对象表示一个任务
    actions: [
      {
        // type 为 add 表示添加文件
        type: 'add',
        path: 'src/views/{{moduleName}}/{{pathName}}/{{componentName}}.vue',
        templateFile: 'plop-templates/main/vue.hbs',
      },
      {
        type: 'add',
        path: 'src/router/module/{{moduleName}}/{{urlName}}/index.ts',
        // 指定模板文件
        templateFile: 'plop-templates/main/router.hbs',
      },
    ],
  })
  plop.setGenerator('base', {
    description: '创建base模块内功能',
    prompts: [
      {
        type: 'input',
        name: 'pathName',
        message: 'component path:页面文件地址',
      },
      {
        type: 'input',
        name: 'urlName',
        message: 'url:路由地址',
      },
      {
        type: 'input',
        name: 'componentName',
        message: 'component name:页面文件',
      },
      {
        type: 'input',
        name: 'moduleName',
        message: 'component moduleName:模块名',
      },
    ],
    // 在命令行中执行的动作，数组中的每一个对象表示一个任务
    actions: [
      {
        // type 为 add 表示添加文件
        type: 'add',
        path: 'src/views/{{moduleName}}/{{pathName}}/{{componentName}}.vue',
        templateFile: 'plop-templates/main/vue.hbs',
      },
      {
        type: 'add',
        path: 'src/router/module/{{moduleName}}/{{urlName}}/index.ts',
        // 指定模板文件
        templateFile: 'plop-templates/main/router.hbs',
      },
    ],
  })
}
